【小程序】页面生命周期、数据绑定与setData数据修改、初改新闻列表Demo 您所在的位置:网站首页 function options 【小程序】页面生命周期、数据绑定与setData数据修改、初改新闻列表Demo

【小程序】页面生命周期、数据绑定与setData数据修改、初改新闻列表Demo

#【小程序】页面生命周期、数据绑定与setData数据修改、初改新闻列表Demo| 来源: 网络整理| 查看: 265

页面 Page 实例的生命周期

从服务器获取到的数据一般放在onLoad生命周期函数中 在这里插入图片描述

示例代码 // pages/posts/posts.js Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { console.log('onload'); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { console.log('onReady'); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { console.log('onshow'); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { console.log('onhide'); }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { console.log('onupload'); }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })

只有一个页面时的执行顺序: 在这里插入图片描述 具体详解请看:

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html

数据绑定

具体请看: https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/data.html

data

data 是页面第一次渲染使用的初始数据。

页面加载时,data 将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组。

渲染层可以通过 WXML 对数据进行绑定。

在这里插入图片描述

Page.prototype.setData(Object data, Function callback)

setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。 在这里插入图片描述 在这里插入图片描述 官方示例代码:

{{text}} Change normal data {{num}} Change normal num {{array[0].text}} Change Array data {{object.text}} Change Object data {{newField.text}} Add new data // index.js Page({ data: { text: 'init data', num: 0, array: [{text: 'init data'}], object: { text: 'init data' } }, changeText: function() { // this.data.text = 'changed data' // 不要直接修改 this.data // 应该使用 setData this.setData({ text: 'changed data' }) }, changeNum: function() { // 或者,可以修改 this.data 之后马上用 setData 设置一下修改了的字段 this.data.num = 1 this.setData({ num: this.data.num }) }, changeItemInArray: function() { // 对于对象或数组字段,可以直接修改一个其下的子字段,这样做通常比修改整个对象或数组更好 this.setData({ 'array[0].text':'changed data' }) }, changeItemInObject: function(){ this.setData({ 'object.text': 'changed data' }); }, addNewField: function() { this.setData({ 'newField.text': 'new data' }) } }) 初改新闻列表Demo 修改后效果

在这里插入图片描述

示例代码


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有